package com.ysd.lis.entity.lab;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableName;

import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ysd.lis.entity.BaseEntity;
import com.ysd.lis.entity.BaseEntity2;
import com.ysd.lis.util.compare.Compare;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 检验报告记录
 * </p>
 *
 * @author Cfz
 * @since 2023-12-26
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("LAB_RPTMAIN")
public class LabRptmain extends BaseEntity2 {

    private static final long serialVersionUID = 1L;

    /**
     * 检验记录主键
     */
    @TableField("MAIN_INFO_ID")
    private String mainInfoId;

    /**
     * 报告单元编号
     */
    @TableField("RPT_GROUP")
    private String rptGroup;

    /**
     * 检验日期
     */
    @Compare("检验日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @TableField(fill = FieldFill.UPDATE)
    private Timestamp sampleda;

    /**
     * 标本号
     */
    @Compare("标本号")
    @TableField("SAMPLE_NO")
    private String sampleNo;

    /**
     * 报告单号
     */
    @TableField("RPT_CODE")
    private String rptCode;

    /**
     * 报告单元名称
     */
    @TableField("RPT_TEMPLATE_CODE")
    private String rptTemplateCode;

    /**
     * 发布人编号
     */
    @TableField("PUBLISH_DOCTOR")
    private String publishDoctor;

    /**
     * 发布人名称
     */
    @TableField("PUBLISH_DOCTOR_NA")
    private String publishDoctorNa;

    /**
     * 发布时间
     */
    @TableField("PUBLISH_TIME")
    private Date publishTime;

    /**
     * 是否导出PDF  ：0 否  1 是
     */
    @TableField("IS_EXPORTED")
    private Integer isExported;

    /**
     * 导出时间
     */
    @TableField("EXPORT_TIME")
    private Date exportTime;

    /**
     * u是否最终报告： 0 否 1 是
     */
    @TableField("IS_FINAL_REPORT")
    private Integer isFinalReport;

    /**
     * 纸张规格  合并报告打印时用
     */
    @TableField("PAGE_UNIT")
    private String pageUnit;

    @TableField(exist = false)
    private String templateName;

    /*是否初级报告*/
    @TableField(exist = false)
    private Boolean isFirstRpt;
    /*初级报告Id*/
    @TableField(exist = false)
    private String firstRptId;
    /*是否初级报告*/
    @TableField(exist = false)
    private Boolean isSecRpt;
    /*二级报告Id*/
    @TableField(exist = false)
    private String secRptId;


}
